from typing import List
import jieba
from base.logger import logger


def preprocess_text(text: str) -> List[str]:
	# 预处理文本
	logger.info("开始预处理文本")
	try:
		# 分词并转换为小写
		logger.info("文本处理完成")
		return jieba.lcut(text.lower())
	except AttributeError as e:
		logger.error(f"文本预处理失败：{e}")
		# 返回空列表
		return []


if __name__ == '__main__':
	text = "2025年11月11日，德隆(DeLong)逃婚案震惊全国，引起高度重视"
	tokens = preprocess_text(text)
	print(tokens)

	# 测试异常情况 - 传入None
	print("\n测试异常情况1:")
	tokens = preprocess_text(None)
	print("结果:", tokens)

	# 测试异常情况 - 传入数字
	print("\n测试异常情况2:")
	tokens = preprocess_text(123)
	print("结果:", tokens)

	# 测试异常情况 - 传入列表
	print("\n测试异常情况3:")
	tokens = preprocess_text(["这是一个列表"])
	print("结果:", tokens)